home *** CD-ROM | disk | FTP | other *** search
-
- // main_init function
-
- main_init = function(mc){
-
- subs_done = true;
- b = mc.getBounds(mc);
-
- // get stage bounaries
-
- sb = o = new Object();
- o.x = 0;
- o.y = 0;
- mc.globalToLocal(o);
- sb.xMin = o.x;
- sb.yMin = o.y;
- o.x = Stage.width;
- o.y = Stage.height;
- mc.globalToLocal(o);
- sb.xMax = o.x;
- sb.yMax = o.y;
-
- q = Math.floor ((direction % 360)/ 90);
- t = Math.tan ((direction % 90)/ 180 * Math.PI);
-
- // calculate initial position
-
- if (q==0) {
-
- dx1 = sb.xMax - b.xMin;
- dy1 = -dx1 * t;
- dy = sb.yMin - b.yMax;
- dx = -dy / t;
-
- } else if (q==1) {
-
- dx1 = sb.xMin - b.xMax;
- dy1 = dx1 / t;
- dy = sb.yMin - b.yMax;
- dx = dy * t;
-
- } else if (q==2) {
-
- dx1 = sb.xMin - b.xMax;
- dy1 = -dx1 * t;
- dy = sb.yMax - b.yMin;
- dx = -dy / t;
-
-
- } else if (q==3) {
-
- dx1 = sb.xMax - b.xMin;
- dy1 = dx1 / t;
- dy = sb.yMax - b.yMin;
- dx = dy * t;
-
- }
-
- if (dx*dx + dy*dy > dx1*dx1 + dy1*dy1) { dx = dx1; dy = dy1; }
-
- mc._x = dx;
- mc._y = dy;
-
- ra = -180*Math.round(rotations*2);
- if (reverse_rotation) ra *=-1;
- }
-
-
- // main_effect function
-
- main_effect = function(mc,frame){
- perc = frame / lastsubframe;
- if (!linear_speed) perc = Math.sin(perc*deg90);
- if (out_effect) perc = 1-perc;
- mc._x = perc * mc.__x + (1-perc) * dx;
- mc._y = perc * mc.__y + (1-perc) * dy;
- mc._rotation = (1-perc) * ra;
- if (fade) mc._alpha = perc * 100;
- if (scale) mc._xscale = mc._yscale = perc * 100;
- if (frame == lastsubframe) end_effect=true;
- }
-
- // sub_init function
-
- sub_init = function(mc){
- }
-
- // sub_effect function
-
- sub_effect = function(mc,frame){
- }
-